package com.rc.mutievcharger.dto.ylevcharger.terminal.req;

import com.rc.evcharger.common.annotation.ByteLength;
import com.rc.evcharger.common.base.yl.BaseYlCommand;
import com.rc.evcharger.common.constant.SocketConstant;

import java.math.BigDecimal;

/**
 * (CMD=106)充电桩签到信息上报
 * Create by Yang on 2021/4/26
 */
public class YlLoginCommondReq extends BaseYlCommand {


    @ByteLength(length = 2)
    private String obligate1; //预留字段1
    @ByteLength(length = 2)
    private String obligate2; //预留字段1
    @ByteLength(length = 32)
    private String terminalId; //充电桩编号
    @ByteLength(length = 1)
    private String pwdFlag; //标志   bit0: 0-不支持加密 1-支持加密
    @ByteLength(length = 4, decimal = 2)
    private BigDecimal softwareversion; //充电桩软件版本   初始值为 1 00 00，代表版本100.00，若版本更新为 104.10则值为 1 0410，而0x 00 0028AA 代表版本 104.10
    @ByteLength
    private String obligate3; //充电桩项目类型  预留
    @ByteLength(length = 4)
    private String startCount; //启动次数    终端每次启动，计数保存
    @ByteLength(length = 1)
    private String reportDataMode; //数据上报模式 1：应答模式  2：主动上报模式
    @ByteLength
    private String loginTime; //签到间隔时间 签到时间单位分钟
    @ByteLength(length = 1)
    private String inVariable1; //0:正常工作模式  1:IAP 模式
    @ByteLength(length = 1)
    private String gunCount; //充电枪个数
    @ByteLength(length = 1)
    private String heatCycle; //心跳上报周期
    @ByteLength(length = 1)
    private String heatCount; //心跳包检测超时次数
    @ByteLength(length = 4)
    private BigDecimal orderRecordCount; //充电记录数量
    @ByteLength(length = 8)
    private String pileTime; //当前充电桩系统时间    标准时间
    @ByteLength(length = 8)
    private String obligate4; //预留
    @ByteLength(length = 8)
    private String obligate5; //预留
    @ByteLength(length = 8)
    private String obligate6; //预留

    @ByteLength(length = 4)
    private String pileRandom; //桩生成随机数
    @ByteLength(length = 2, decimal = 1)
    private BigDecimal pileServerVersion; //桩后台通信协议版本   十进制 30 表示 V3.0


    public String getObligate1() {
        return obligate1;
    }

    public void setObligate1(String obligate1) {
        this.obligate1 = obligate1;
    }

    public String getObligate2() {
        return obligate2;
    }

    public void setObligate2(String obligate2) {
        this.obligate2 = obligate2;
    }

    public String getPwdFlag() {
        return pwdFlag;
    }

    public void setPwdFlag(String pwdFlag) {
        this.pwdFlag = pwdFlag;
    }

    public String getTerminalId() {
        return terminalId;
    }

    public void setTerminalId(String terminalId) {
        this.terminalId = terminalId;
    }

    public BigDecimal getSoftwareversion() {
        return softwareversion;
    }

    public void setSoftwareversion(BigDecimal softwareversion) {
        this.softwareversion = softwareversion;
    }

    public String getObligate3() {
        return obligate3;
    }

    public void setObligate3(String obligate3) {
        this.obligate3 = obligate3;
    }

    public String getStartCount() {
        return startCount;
    }

    public void setStartCount(String startCount) {
        this.startCount = startCount;
    }

    public String getReportDataMode() {
        return reportDataMode;
    }

    public void setReportDataMode(String reportDataMode) {
        this.reportDataMode = reportDataMode;
    }

    public String getLoginTime() {
        return loginTime;
    }

    public void setLoginTime(String loginTime) {
        this.loginTime = loginTime;
    }

    public String getInVariable1() {
        return inVariable1;
    }

    public void setInVariable1(String inVariable1) {
        this.inVariable1 = inVariable1;
    }

    public String getGunCount() {
        return gunCount;
    }

    public void setGunCount(String gunCount) {
        this.gunCount = gunCount;
    }

    public String getHeatCycle() {
        return heatCycle;
    }

    public void setHeatCycle(String heatCycle) {
        this.heatCycle = heatCycle;
    }

    public String getHeatCount() {
        return heatCount;
    }

    public void setHeatCount(String heatCount) {
        this.heatCount = heatCount;
    }

    public BigDecimal getOrderRecordCount() {
        return orderRecordCount;
    }

    public void setOrderRecordCount(BigDecimal orderRecordCount) {
        this.orderRecordCount = orderRecordCount;
    }

    public String getPileTime() {
        return pileTime;
    }

    public void setPileTime(String pileTime) {
        this.pileTime = pileTime;
    }

    public String getObligate4() {
        return obligate4;
    }

    public void setObligate4(String obligate4) {
        this.obligate4 = obligate4;
    }

    public String getObligate5() {
        return obligate5;
    }

    public void setObligate5(String obligate5) {
        this.obligate5 = obligate5;
    }

    public String getObligate6() {
        return obligate6;
    }

    public void setObligate6(String obligate6) {
        this.obligate6 = obligate6;
    }

    public String getPileRandom() {
        return pileRandom;
    }

    public void setPileRandom(String pileRandom) {
        this.pileRandom = pileRandom;
    }

    public BigDecimal getPileServerVersion() {
        return pileServerVersion;
    }

    public void setPileServerVersion(BigDecimal pileServerVersion) {
        this.pileServerVersion = pileServerVersion;
    }

    //public String getPileRandom() {
    //    return pileRandom;
    //}
    //
    //public void setPileRandom(String pileRandom) {
    //    this.pileRandom = pileRandom;
    //}
    //
    //public String getPileVersion() {
    //    return pileVersion;
    //}
    //
    //public void setPileVersion(String pileVersion) {
    //    this.pileVersion = pileVersion;
    //}
    //
    //public String getWhiteVersion() {
    //    return whiteVersion;
    //}
    //
    //public void setWhiteVersion(String whiteVersion) {
    //    this.whiteVersion = whiteVersion;
    //}
    //
    //public String getDeviceVersion() {
    //    return deviceVersion;
    //}
    //
    //public void setDeviceVersion(String deviceVersion) {
    //    this.deviceVersion = deviceVersion;
    //}

}
